home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer (Italian) 30 / PC Gamer IT CD 30 1-2.iso / MOTS / GAMEDATA / EPISODE / JKM_PCG.GOO / cog_s1l2_doortoggle.cog < prev    next >
Text File  |  1998-02-25  |  2KB  |  97 lines

  1. # Jedi Knight Missions Cog Script
  2. #
  3. # S1L2_doortoggle.cog
  4. #
  5. # [TL]
  6. #
  7. # (C) 1997 LucasArts Entertainment Co. All Rights Reserved
  8. #=========================================================
  9.  
  10. symbols
  11.  
  12. message  startup  
  13. message  activate 
  14. message  arrived  
  15. message  blocked  
  16.  
  17. thing    door0                       linkid=1
  18.  
  19. surface  switch                      linkid=2
  20.  
  21. flex     movespeed=8.0
  22. flex     lightvalue=0.5
  23.  
  24. int      doorsector=-1             local
  25. int      numdoors=0             local
  26. int      doorstatus=0           local
  27. int      movestatus=0           local
  28.  
  29. sound    wav0=beep1.wav
  30. sound     locksound=df_door2-3.wav    local
  31.  
  32. end
  33.  
  34. # ========================================================
  35. code
  36. startup:
  37.        doorsector = GetThingSector(door0);
  38.        SectorAdjoins(doorsector, 0);
  39.        SectorLight(doorsector, lightvalue, 0);      
  40.        return;
  41.  
  42. # .......................................................
  43.  
  44. activate:
  45. //       if (GetWallCel(switch) == 1) return;
  46.    
  47.        if (GetSenderId() == 1)
  48.     {
  49.         PlaySoundLocal(locksound, 1, 0, 0);
  50.     } 
  51.     else if (GetSenderId() == 2)
  52.        {
  53.                   if (GetCurFrame(door0) == 0) 
  54.         {    
  55.             call open_door;
  56.                   }
  57.         else if (GetCurFrame(door0) == 1) 
  58.         {
  59.             call close_door;   
  60.            }
  61.     }  
  62.        return;
  63.  
  64. # ......................................................
  65. arrived:
  66.        if (GetCurFrame(door0) == 0)
  67.         {  
  68.           SectorAdjoins(doorsector, 0);
  69.           SetWallCel(switch, 0);
  70.         }
  71.        return;
  72.  
  73. # ......................................................
  74.  
  75. blocked:
  76.        call open_door;
  77.        return;
  78.  
  79. # ......................................................
  80. open_door:
  81.        SetWallCel(switch,1);
  82.        PlaySoundPos(wav0, SurfaceCenter(switch), 1, -1, -1, 0);
  83.        SectorAdjoins(doorsector, 1);
  84.        MoveToFrame(door0, 1, movespeed);
  85.        return;
  86.  
  87. # ........................................................
  88.  
  89. close_door:
  90.        SetWallCel(switch,0);
  91.        PlaySoundPos(wav0, SurfaceCenter(switch), 1, -1, -1, 0);
  92.        MoveToFrame(door0, 0, movespeed);
  93.        return;
  94.  
  95. end
  96.